package br.com.rest;

import java.util.ArrayList;
import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/moeda")
public class MoedaConsulta {

	@GET
	@Path("/valores")
	@Produces(MediaType.APPLICATION_XML)
	public String valorMoeda() {

		return "<test></test>";
	}

	@POST
	@Path("/consumo")
	@Consumes(MediaType.APPLICATION_XML)
	public void producao(Moeda moeda) {

		System.out.println(moeda.getId());
		System.out.println(moeda.getValor());
		System.out.println(moeda.getTipoMoeda());
	}

	@GET
	@Path("{id}")
	public void producao(@PathParam("id") String id) {

		System.out.println("Parametro --> " + id.substring(id.indexOf("=")+1, id.length()));
	}

	@POST
	@Path("/consumoList")
	@Consumes(MediaType.APPLICATION_XML)
	public void producao(final List<Moeda> moedas) {

		System.out.println(moedas.size());

		for (final Moeda moeda : moedas) {
			System.out.println(moeda.getId());
			System.out.println(moeda.getValor());
			System.out.println(moeda.getTipoMoeda());
		}
	}

	@GET
	@Path("/consulta")
	@Produces(MediaType.APPLICATION_XML)
	public List<Moeda> consulta() {

		final Moeda moeda = new Moeda();
		moeda.setId("1");
		moeda.setTipoMoeda("REAL");
		moeda.setValor(2.0d);

		final Moeda moeda2 = new Moeda();
		moeda2.setId("2");
		moeda2.setTipoMoeda("Dollar");
		moeda2.setValor(3.0d);

		final List<Moeda> moedas = new ArrayList<Moeda>();
		moedas.add(moeda);
		moedas.add(moeda2);

		return moedas;
	}
}
